// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package com.xiaomi.infra.galaxy.common.http;
import com.xiaomi.infra.galaxy.common.GalaxyVersion;
import com.xiaomi.infra.galaxy.common.Protocol;
import com.xiaomi.infra.galaxy.common.util.StringUtils;
import java.io.InputStream;
public class ClientConfiguration
{
public static final int DEFAULT_MAX_CONNECTIONS = 50;
public static final int DEFAULT_MAX_RETRIES = 3;
public static final int DEFAULT_SOCKET_TIMEOUT = 50000;
public static final String DEFAULT_USER_AGENT = GalaxyVersion.getUserAgent();
private String appId;
private int connectionTimeout;
private String endpoint;
private final boolean keepAlive;
private int maxConnections;
private int maxErrorRetry;
private Protocol protocol;
private String proxyDomain;
private String proxyHost;
private String proxyPassword;
private int proxyPort;
private String proxyUsername;
private String proxyWorkstation;
private int socketReceiveBufferSizeHint;
private int socketSendBufferSizeHint;
private int socketTimeout;
private InputStream trustStore;
private String trustStorePassword;
private String userAgent;
public ClientConfiguration(ClientConfiguration clientconfiguration, boolean flag)
{
userAgent = DEFAULT_USER_AGENT;
maxErrorRetry = 3;
protocol = Protocol.HTTPS;
proxyHost = null;
proxyPort = -1;
proxyUsername = null;
proxyPassword = null;
proxyDomain = null;
proxyWorkstation = null;
maxConnections = 50;
socketTimeout = 50000;
connectionTimeout = 50000;
socketSendBufferSizeHint = 0;
socketReceiveBufferSizeHint = 0;
endpoint = "https://sds.api.xiaomi.com";
connectionTimeout = clientconfiguration.connectionTimeout;
maxConnections = clientconfiguration.maxConnections;
maxErrorRetry = clientconfiguration.maxErrorRetry;
protocol = clientconfiguration.protocol;
proxyDomain = clientconfiguration.proxyDomain;
proxyHost = clientconfiguration.proxyHost;
proxyPassword = clientconfiguration.proxyPassword;
proxyPort = clientconfiguration.proxyPort;
proxyUsername = clientconfiguration.proxyUsername;
proxyWorkstation = clientconfiguration.proxyWorkstation;
socketTimeout = clientconfiguration.socketTimeout;
userAgent = clientconfiguration.userAgent;
socketReceiveBufferSizeHint = clientconfiguration.socketReceiveBufferSizeHint;
socketSendBufferSizeHint = clientconfiguration.socketSendBufferSizeHint;
appId = clientconfiguration.appId;
trustStore = clientconfiguration.trustStore;
trustStorePassword = clientconfiguration.trustStorePassword;
endpoint = clientconfiguration.endpoint;
keepAlive = flag;
}
public ClientConfiguration(boolean flag)
{
userAgent = DEFAULT_USER_AGENT;
maxErrorRetry = 3;
protocol = Protocol.HTTPS;
proxyHost = null;
proxyPort = -1;
proxyUsername = null;
proxyPassword = null;
proxyDomain = null;
proxyWorkstation = null;
maxConnections = 50;
socketTimeout = 50000;
connectionTimeout = 50000;
socketSendBufferSizeHint = 0;
socketReceiveBufferSizeHint = 0;
endpoint = "https://sds.api.xiaomi.com";
keepAlive = flag;
}
public String getAppId()
{
return appId;
}
public int getConnectionTimeout()
{
return connectionTimeout;
}
public String getEndpoint()
{
return endpoint;
}
public int getMaxConnections()
{
return maxConnections;
}
public int getMaxErrorRetry()
{
return maxErrorRetry;
}
public Protocol getProtocol()
{
return protocol;
}
public String getProxyDomain()
{
return proxyDomain;
}
public String getProxyHost()
{
return proxyHost;
}
public String getProxyPassword()
{
return proxyPassword;
}
public int getProxyPort()
{
return proxyPort;
}
public String getProxyUsername()
{
return proxyUsername;
}
public String getProxyWorkstation()
{
return proxyWorkstation;
}
public int[] getSocketBufferSizeHints()
{
int ai[] = new int[2];
ai[0] = socketSendBufferSizeHint;
ai[1] = socketReceiveBufferSizeHint;
return ai;
}
public int getSocketTimeout()
{
return socketTimeout;
}
public InputStream getTrustStore()
{
return trustStore;
}
public String getTrustStorePassword()
{
return trustStorePassword;
}
public String getUserAgent()
{
return userAgent;
}
public boolean isKeepAlive()
{
return keepAlive;
}
public void setAppId(String s)
{
appId = s;
}
public void setConnectionTimeout(int i)
{
connectionTimeout = i;
}
public void setEndpoint(String s)
{
endpoint = s;
if (StringUtils.isNotBlank(s))
{
if (s.regionMatches(true, 0, "https://", 0, "https://".length()))
{
protocol = Protocol.HTTPS;
}
if (s.regionMatches(true, 0, "http://", 0, "http://".length()))
{
protocol = Protocol.HTTP;
}
}
}
public void setMaxConnections(int i)
{
maxConnections = i;
}
public void setMaxErrorRetry(int i)
{
maxErrorRetry = i;
}
public void setProtocol(Protocol protocol1)
{
if (StringUtils.isNotBlank(endpoint))
{
if (endpoint.regionMatches(true, 0, "https://", 0, "https://".length()))
{
protocol = Protocol.HTTPS;
return;
}
if (endpoint.regionMatches(true, 0, "http://", 0, "http://".length()))
{
protocol = Protocol.HTTP;
return;
}
}
protocol = protocol1;
}
public void setProxyDomain(String s)
{
proxyDomain = s;
}
public void setProxyHost(String s)
{
proxyHost = s;
}
public void setProxyPassword(String s)
{
proxyPassword = s;
}
public void setProxyPort(int i)
{
proxyPort = i;
}
public void setProxyUsername(String s)
{
proxyUsername = s;
}
public void setProxyWorkstation(String s)
{
proxyWorkstation = s;
}
public void setSocketBufferSizeHints(int i, int j)
{
socketSendBufferSizeHint = i;
socketReceiveBufferSizeHint = j;
}
public void setSocketTimeout(int i)
{
socketTimeout = i;
}
public void setTrustStore(InputStream inputstream)
{
trustStore = inputstream;
}
public void setTrustStorePassword(String s)
{
trustStorePassword = s;
}
public void setUserAgent(String s)
{
userAgent = s;
}
public ClientConfiguration withAppId(String s)
{
setAppId(s);
return this;
}
public ClientConfiguration withConnectionTimeout(int i)
{
setConnectionTimeout(i);
return this;
}
public ClientConfiguration withMaxConnections(int i)
{
setMaxConnections(i);
return this;
}
public ClientConfiguration withMaxErrorRetry(int i)
{
setMaxErrorRetry(i);
return this;
}
public ClientConfiguration withProtocol(Protocol protocol1)
{
setProtocol(protocol1);
return this;
}
public ClientConfiguration withProxyDomain(String s)
{
setProxyDomain(s);
return this;
}
public ClientConfiguration withProxyHost(String s)
{
setProxyHost(s);
return this;
}
public ClientConfiguration withProxyPassword(String s)
{
setProxyPassword(s);
return this;
}
public ClientConfiguration withProxyPort(int i)
{
setProxyPort(i);
return this;
}
public ClientConfiguration withProxyUsername(String s)
{
setProxyUsername(s);
return this;
}
public ClientConfiguration withProxyWorkstation(String s)
{
setProxyWorkstation(s);
return this;
}
public ClientConfiguration withSocketBufferSizeHints(int i, int j)
{
setSocketBufferSizeHints(i, j);
return this;
}
public ClientConfiguration withSocketTimeout(int i)
{
setSocketTimeout(i);
return this;
}
public ClientConfiguration withUserAgent(String s)
{
setUserAgent(s);
return this;
}
}